# 编写一个Python程序:青蛙跳台阶，共有10阶台阶，青蛙每次可以选择跳一阶或者两阶，
# 问：青蛙跳上这10个台阶共有多少种跳法。
# class Frog:
#     def __init__(self):
#         self.memo = {}
#
#     def jump(self, n):
#         if n in self.memo:
#             return self.memo[n]
#         if n == 1:
#             return 1
#         if n == 2:
#             return 2
#         res = self.jump(n-1) + self.jump(n-2)
#         self.memo[n] = res
#         return res
#
# frog = Frog()
# ways = frog.jump(10)
# print(f"青蛙跳上这10个台阶共有 {ways} 种跳法。")
# 编写一个Python程序，使用递归算法，生成并输出斐波那契数列的前n项，其中n是用户指定的正整数。斐波那契数列，又称黄金分割数列，指的是：1、1、2、3、5、8、13、21、34....从第三个数开始，每个数字都是前两个数字之和。

# def f(n):
#     if n <= 0:
#         return 0
#     elif n == 1 or n == 2:
#         return 1
#     else:
#         return f(n - 1) + f(n - 2)
#
# # 计算斐波那契数列的第 10 项
# n = 10
# result =f(n)
# print(f"斐波那契数列的第 {n} 项为：{result}")

# 当 for 循环正常结束时，会执行 else 语句块；如果在循环中有 break 语句跳出，则不会执行 else。